package com.power.ding.service;

import org.springframework.data.domain.Page;
import com.power.ding.model.Di_userdept;
import com.power.ding.model.pageInfo.Di_userdeptPageInfo;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *  用户部门关系业务层
 */
public interface Di_userdeptService {

    /**
     *  根据id获取用户部门关系对象
     */
    Di_userdept getById(Serializable id);

    /**
     *  根据传入用户部门关系对象进行新增或更新操作
     */
    void saveOrUpdate(Di_userdept di_userdept);

    /**
     *  根据id删除用户部门关系
     */
    void removeById(String id);

    /**
     *  根据传入条件查询用户部门关系分页结果
     */
    Page<Di_userdept> findAll(Di_userdeptPageInfo pageInfo);
    
    /**
     * 查询全部用户部门关系
     */
    List<Di_userdept> findAll();
    
     /**
     *  根据id批量删除用户部门关系
     */
    void removeByIds(List<Integer> list);
    
     /**
     *  批量保存用户部门关系
     */
    void saveAll(List<Di_userdept> list);
    
    /**
     * 删除用户的部门关系
     * @param userid
     */
    void removeByUserId(String userid);


    /**
     * 按照组织层级进行统计数量
     * @return
     */
    List<Map<String,Object>> countByOrgId();
}
